#ifndef _LOGIC_STATEMACHINE_RIBBONLOBEAMSTATE_H_
#define _LOGIC_STATEMACHINE_RIBBONLOBEAMSTATE_H_

#include "StateMachineState.h"
#include "FrontRibbonCtrlState.h"

// declared state machine class
typedef struct RibbonLoBeamStateMachine
{
    RibbonLoBeamCtrlStateMachine_Init   ribbonLoBeamCtrlStateMachineInit_;
    RibbonLoBeamCtrlStateMachine_Off    ribbonLoBeamCtrlStateMachineOff_;
    RibbonLoBeamCtrlStateMachine_On*    ribbonLoBeamCtrlStateMachineOn_;
    RibbonLoBeamCtrlStateMachine_Again  ribbonLoBeamCtrlStateMachineAgain_;

    StateMachineBase sm_;
    struct RibbonLoBeamStateMachine* this_;
}RibbonLoBeamStateMachine;
extern void RibbonLoBeamStateEntry(void);
extern void RibbonLoBeamStateExcute(void);
extern void RibbonLoBeamStateExit(void);

// definition global state machine class
extern RibbonLoBeamStateMachine g_RibbonLoBeamStateMachine;
extern void InitRibbonLoBeamStateMachine(void);





#endif
